降低云计算成本的方式
降低云计算成本的方式有以下十种:
选择保留实例
在云中,如果组织愿意做出一定的权衡,他们将会找到按需资源的价格更低的替代方案。
并尽可能使用以下折扣定价方案:
预留实例定价。提前承诺在一到三年内使用一定容量的组织可以节省带有预留实例的云资源。根据平台和其他变量,预留实例的价格仅为按需实例的三分之一。每个主要的云计算提供商都会提供这种定价选项,例如Amazon EC2预留实例(RI)、微软Azure预留虚拟机实例和谷歌云承诺使用计划。与标准EC2 RI相比,AWS公司还提供一个“节省计划”,提供类似的折扣,并在使用方面更具灵活性。预留实例最适合具有一致且可预测容量的工作负载。
现场实例定价。开发人员可以通过Amazon EC2竞价型实例、Azure竞价型虚拟机和Google Cloud Preemitble VM为其未使用的容量获得折扣定价。这些定价模型的节省取决于购买的资源类型和购买时的价格。这些实例的成本可能会频繁变化,每小时可能会有所不同。如果实例超出了云计算用户的最高价格,它将会终止。低优先级实例可以节省多达90%的费用,但是这些实例的可用性受到更多限制,并且可能会突然中断,具体取决于区域的整体容量需求。它们最适合用于无状态工作负载、批处理作业和其他可以容忍中断的任务。
容量规划
即使组织可以在云平台中快速启动或关闭实例,但最终还是一直为未使用的容量付费。IT团队需要确保有足够的容量来处理意外的流量高峰和负载波动,但又不要过多,以避免他们过度使用了不必要的资源。容量规划可以帮助降低总体云计算成本。
自动扩展资源可以帮助组织确保不为未使用的云容量付费。云计算提供商提供具有自动扩展功能的原生服务,例如AWS Auto Scaling。这些功能可自动监视和调整应用程序规模以满足需求,并可用于确定成本、可用性或性能的优先级。
在考虑成本的情况下设置自动缩放参数。例如,将性能限制放在不需要扩展的较低优先级工作负载上。配置自动缩放设置以使用最少数量的资源来满足需求。并在适当的时候纳入一些前面提到的折扣计划。
无服务器计算也可以帮助解决许多扩展问题,但是仍然需要一些前期计划来避免成本失控。组织还可以使用排队和缓存之类的技术来适应意外的流量高峰,而无需为空闲容量支付费用。
限制数据传输费用
组织的数据在公共云之间来回迁移的成本可能很高。云计算提供商通常会收取数据出口费用,以将数据移出其平台甚至在区域之间移动。为了降低这方面的成本,需要避免不必要的数据传输。
组织首先评估其云计算提供商的数据传输费用。然后,调整其云计算架构以减少数据传输次数。例如,组织可以将频繁访问云托管数据的内部部署应用程序移至云平台中以消除这些传输。
另外,评估旨在加快和保护云平台与私有数据中心之间的数据移动的不同传输方式的费用。例如,将使用专用网络连接服务(例如AWS Direct Connect、Azure ExpressRoute或Google Cloud Interconnect)的成本与物理传输设备(例如AWS Snowball或Azure Data Box)的成本进行比较。
利用成本监控工具
AWS公司提供了各种成本监控工具。其中提供的AWS Cost Explorer这个工具可以分析组织以往的支出,甚至可以追溯到13个月之前,并预测组织未来三个月的云计算支出。另一个工具是AWS Budgets,它设置自定义警报以在支出超过特定点时通知用户。它还可以自动限制资源以降低云计算成本。
Microsoft云用户可以使用Azure成本管理+计费来监视其支出。这个工具跟踪每个Azure服务的支出,提供未来的账单预测,并在用户超出预算时向用户发出警报。同样,Google Cost Management使谷歌云平台用户可以识别成本峰值,并设置支出报告以优化成本。
除了云原生选项之外,第三方成本监控工具还可以帮助组织制定明智的支出决策。例如,CloudCheckr跟踪跨云计算资源的支出,并提供削减成本的建议。Scalr是另一个第三方工具,可将成本分析作为其云计算管理平台的一部分。
防止云蔓延
云蔓延是云计算资源不受控制的扩散,这应归咎于许多云计算成本费用飙升。当组织无法消除不再是其整体战略一部分的云计算服务时,他们仍将继续为此支付费用。
为避免这个问题,组织需要使用基础设施以及应用程序监视和管理工具对云计算环境建立适当的可见性。设置有关如何以及何时停用不再需要的云计算资源的策略。使用自动配置关闭原有的工作负载。
除了采用云计算策略之外,组织需要仔细监视云平台的账单和合同,以识别组织是否正在为不再使用的云服务支付费用。
采用混合云
并不是每个企业都有备用的服务器,但那些拥有的企业可以利用日益复杂的软件包来构建将它们连接在一起的安全子网。这样可以降低成本,甚至可能更加安全。
Tailscale、Submariner和Traefik只是使用公有云和私有云构建这种安全网格的一些选项。有些用户正在构建Kubernetes集群,其他用户只是托管不需要低延迟的后端服务。虽然这不是面向客户工作负载的解决方案,但组合一些有用的后台处理工具比以往任何时候都要容易。
探索采用裸机服务器
不是每个人都需要现代云实例的灵活性。一些供应商正在出租服务器,而不需要额外的管理程序和虚拟化层。企业可以采用裸机机器,也减少了对安全性的担忧,将得到root密码。企业可能需要在整理操作系统(OS)层方面做更多的工作,但有时这会带来更好地调整机器的机会。IBM、OVHcloud、GTHost和Vultr是出租裸机服务器的众多公司的其中几家。
采用静态网页
如果企业的应用程序需要大量不变的信息,那么由静态网页构建的应用程序可能是通过内容分发网络覆盖广泛受众的成本最低的方式。对于需要大量后端计算和定制的任务,它们不是一个很好的解决方案,但也许可以将处理拆分为一个单独的服务。良好的静态框架包括Jekyll、Gatsby、Middleman和Hugo。当程序员可以将所有内容转移到CDN时,可能会显著降低成本。
为Arm重新编译
AWS和其他一些云计算供应商正在添加围绕Arm CPU构建的服务器。这些RISC芯片的运行速度更快、更便宜,但它们通常需要重新编译二进制应用程序。其成本节省取决于应用程序的类型和机器上的负载。例如,AWS公司估计其Graviton芯片的效率可能比x86芯片高25%到100%甚至更高。由于AWS公司刚刚推出了新的Graviton3处理器,因此处理速度可能会增长,该公司估计该处理器的速度可能比Graviton2快三倍,至少在基于bfloat16值的机器学习应用程序基准测试中是这样。
除非企业的服务器正在满负荷运行,否则要捕获此值可能并不容易,这让一些开发人员有些紧张。一种解决方案是开始使用Arm芯片进行后台处理。另一种方法是转向提供ARM处理器的事件驱动计算服务(例如AWS Lambda),编程人员发现这种解决方案可能会节省20%的成本,但仅适用于某些语言和应用程序。
采用微型服务器
Arm选项的数量正在迅速增长,有时甚至以惊人的方式增长。很多人使用几乎没有成本的小型Raspberry Pi或Jetson机器进行黑客攻击。它们是构建嵌入式机器、物联网应用程序或只是试验的理想选择。现在它们也可以成为企业的云计算基础设施的一部分。例如,Raspberry Hosting和miniNodes会在专业的数据中心为企业租用一个小型Raspberry Pi或Jetson Nano,并有大量的互联网连接,这样就能够以低廉的价格运行基本软件。